package top.cyuw.subjectsystem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.cyuw.subjectsystem.dto.PagingParamDto;
import top.cyuw.subjectsystem.dto.user.UserCreateRequest;
import top.cyuw.subjectsystem.dto.user.UserEditRequest;
import top.cyuw.subjectsystem.dto.user.UserImportDto;
import top.cyuw.subjectsystem.dto.user.UserLoginRequest;
import top.cyuw.subjectsystem.entity.User;
import top.cyuw.subjectsystem.vo.ImportResultVo;
import top.cyuw.subjectsystem.vo.PagingVo;
import top.cyuw.subjectsystem.vo.user.UserDetailVo;
import top.cyuw.subjectsystem.vo.user.UserVo;

import java.util.List;

public interface UserService extends IService<User> {

    UserVo login(UserLoginRequest request);

    Boolean create(UserCreateRequest request);

    Boolean edit(UserEditRequest request);

    PagingVo<UserDetailVo> search(PagingParamDto<String> request);

    Boolean delete(Integer id);

    ImportResultVo importFromExcel(List<UserImportDto> list);

}
